A nonvolatile semiconductor storage device such as EEPROM NAND flash memory is increasingly miniaturized. Thus, an interval between adjacent memory cells is remarkably narrow. When the interval between adjacent memory cells is narrower, a capacity (FG-FG capacity) between floating gates (FG) of the adjacent cells increases. Therefore, there is a problem that a threshold voltage Vth of a previously-written memory cell varies by the FG-FG capacity depending on data in a later-written adjacent cell. This is called proximity effect. Particularly, a multivalued memory for storing N bit data (N≧2) in one memory cell needs to remarkably narrow a distribution of threshold voltage per data. Therefore, the problem on the proximity effect is noted in the multivalued memory.
When the proximity effect is large as described above, a read system for correcting the proximity effect may be employed. For example, when data is read from a memory cell connected to a select word line WLn, the data in the select word line WLn is corrected and read for cancelling the proximity effect based on data written in a memory cell connected to an adjacent word line WLn+1. In other words, a DLA (Direct Look Ahead) system for reading data at a shifted read level is employed.